home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1997 May / PC Plus Super CD Issue 127 (May 1997).iso / delphi2 / delphite.exe / data.z / DBCTRLS.INT < prev    next >
Encoding:
Text File  |  1996-08-12  |  20.6 KB  |  733 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Delphi Visual Component Library                 }
  5. {                                                       }
  6. {       Copyright (c) 1995,96 Borland International     }
  7. {                                                       }
  8. {*******************************************************}
  9.  
  10. unit DBCtrls;
  11.  
  12. {$R-}
  13.  
  14. interface
  15.  
  16. uses SysUtils, Windows, Messages, Classes, Controls, Forms,
  17.   Graphics, Menus, StdCtrls, ExtCtrls, DB, DBTables, Mask, Buttons;
  18.  
  19. type
  20.  
  21. { TPaintControl }
  22.  
  23.   TPaintControl = class
  24.   public
  25.     constructor Create(Owner: TWinControl; const ClassName: string);
  26.     destructor Destroy; override;
  27.     procedure DestroyHandle;
  28.     property Ctl3DButton: Boolean;
  29.     property Handle: HWnd;
  30.   end;
  31.  
  32. { TDBEdit }
  33.  
  34.   TDBEdit = class(TCustomMaskEdit)
  35.   protected
  36.     procedure Change; override;
  37.     function EditCanModify: Boolean; override;
  38.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  39.     procedure KeyPress(var Key: Char); override;
  40.     procedure Notification(AComponent: TComponent;
  41.       Operation: TOperation); override;
  42.     procedure Reset; override;
  43.   public
  44.     constructor Create(AOwner: TComponent); override;
  45.     destructor Destroy; override;
  46.     property Field: TField;
  47.   published
  48.     property AutoSelect;
  49.     property AutoSize;
  50.     property BorderStyle;
  51.     property CharCase;
  52.     property Color;
  53.     property Ctl3D;
  54.     property DataField: string;
  55.     property DataSource: TDataSource;
  56.     property DragCursor;
  57.     property DragMode;
  58.     property Enabled;
  59.     property Font;
  60.     property MaxLength;
  61.     property ParentColor;
  62.     property ParentCtl3D;
  63.     property ParentFont;
  64.     property ParentShowHint;
  65.     property PasswordChar;
  66.     property PopupMenu;
  67.     property ReadOnly: Boolean default False;
  68.     property ShowHint;
  69.     property TabOrder;
  70.     property TabStop;
  71.     property Visible;
  72.     property OnChange;
  73.     property OnClick;
  74.     property OnDblClick;
  75.     property OnDragDrop;
  76.     property OnDragOver;
  77.     property OnEndDrag;
  78.     property OnEnter;
  79.     property OnExit;
  80.     property OnKeyDown;
  81.     property OnKeyPress;
  82.     property OnKeyUp;
  83.     property OnMouseDown;
  84.     property OnMouseMove;
  85.     property OnMouseUp;
  86.     property OnStartDrag;
  87.   end;
  88.  
  89. { TDBText }
  90.  
  91.   TDBText = class(TCustomLabel)
  92.   protected
  93.     function GetLabelText: string; override;
  94.     procedure Notification(AComponent: TComponent;
  95.       Operation: TOperation); override;
  96.     procedure SetAutoSize(Value: Boolean); override;
  97.   public
  98.     constructor Create(AOwner: TComponent); override;
  99.     destructor Destroy; override;
  100.     property Field: TField;
  101.   published
  102.     property Align;
  103.     property Alignment;
  104.     property AutoSize default False;
  105.     property Color;
  106.     property DataField: string;
  107.     property DataSource: TDataSource;
  108.     property DragCursor;
  109.     property DragMode;
  110.     property Enabled;
  111.     property Font;
  112.     property ParentColor;
  113.     property ParentFont;
  114.     property ParentShowHint;
  115.     property PopupMenu;
  116.     property Transparent;
  117.     property ShowHint;
  118.     property Visible;
  119.     property WordWrap;
  120.     property OnClick;
  121.     property OnDblClick;
  122.     property OnDragDrop;
  123.     property OnDragOver;
  124.     property OnEndDrag;
  125.     property OnMouseDown;
  126.     property OnMouseMove;
  127.     property OnMouseUp;
  128.     property OnStartDrag;
  129.   end;
  130.  
  131. { TDBCheckBox }
  132.  
  133.   TDBCheckBox = class(TCustomCheckBox)
  134.   protected
  135.     procedure Toggle; override;
  136.     procedure KeyPress(var Key: Char); override;
  137.     procedure Notification(AComponent: TComponent;
  138.       Operation: TOperation); override;
  139.     procedure WndProc(var Message: TMessage); override;
  140.   public
  141.     constructor Create(AOwner: TComponent); override;
  142.     destructor Destroy; override;
  143.     property Checked;
  144.     property Field: TField;
  145.     property State;
  146.   published
  147.     property Alignment;
  148.     property AllowGrayed;
  149.     property Caption;
  150.     property Color;
  151.     property Ctl3D;
  152.     property DataField: string;
  153.     property DataSource: TDataSource;
  154.     property DragCursor;
  155.     property DragMode;
  156.     property Enabled;
  157.     property Font;
  158.     property ParentColor;
  159.     property ParentCtl3D;
  160.     property ParentFont;
  161.     property ParentShowHint;
  162.     property PopupMenu;
  163.     property ReadOnly: Boolean default False;
  164.     property ShowHint;
  165.     property TabOrder;
  166.     property TabStop;
  167.     property ValueChecked: string;
  168.     property ValueUnchecked: string;
  169.     property Visible;
  170.     property OnClick;
  171.     property OnDragDrop;
  172.     property OnDragOver;
  173.     property OnEndDrag;
  174.     property OnEnter;
  175.     property OnExit;
  176.     property OnKeyDown;
  177.     property OnKeyPress;
  178.     property OnKeyUp;
  179.     property OnMouseDown;
  180.     property OnMouseMove;
  181.     property OnMouseUp;
  182.     property OnStartDrag;
  183.   end;
  184.  
  185. { TDBComboBox }
  186.  
  187.   TDBComboBox = class(TCustomComboBox)
  188.   protected
  189.     procedure Change; override;
  190.     procedure Click; override;
  191.     procedure ComboWndProc(var Message: TMessage; ComboWnd: HWnd;
  192.       ComboProc: Pointer); override;
  193.     procedure CreateWnd; override;
  194.     procedure DropDown; override;
  195.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  196.     procedure KeyPress(var Key: Char); override;
  197.     procedure Notification(AComponent: TComponent;
  198.       Operation: TOperation); override;
  199.     procedure SetStyle(Value: TComboboxStyle); override;
  200.     procedure WndProc(var Message: TMessage); override;
  201.   public
  202.     constructor Create(AOwner: TComponent); override;
  203.     destructor Destroy; override;
  204.     property Field: TField;
  205.     property Text;
  206.   published
  207.     property Style; {Must be published before Items}
  208.     property Color;
  209.     property Ctl3D;
  210.     property DataField: string;
  211.     property DataSource: TDataSource;
  212.     property DragMode;
  213.     property DragCursor;
  214.     property DropDownCount;
  215.     property Enabled;
  216.     property Font;
  217.     property ItemHeight;
  218.     property Items write SetItems;
  219.     property ParentColor;
  220.     property ParentCtl3D;
  221.     property ParentFont;
  222.     property ParentShowHint;
  223.     property PopupMenu;
  224.     property ReadOnly: Boolean default False;
  225.     property ShowHint;
  226.     property Sorted;
  227.     property TabOrder;
  228.     property TabStop;
  229.     property Visible;
  230.     property OnChange;
  231.     property OnClick;
  232.     property OnDblClick;
  233.     property OnDragDrop;
  234.     property OnDragOver;
  235.     property OnDrawItem;
  236.     property OnDropDown;
  237.     property OnEndDrag;
  238.     property OnEnter;
  239.     property OnExit;
  240.     property OnKeyDown;
  241.     property OnKeyPress;
  242.     property OnKeyUp;
  243.     property OnMeasureItem;
  244.     property OnStartDrag;
  245.   end;
  246.  
  247. { TDBListBox }
  248.  
  249.   TDBListBox = class(TCustomListBox)
  250.   protected
  251.     procedure Click; override;
  252.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  253.     procedure KeyPress(var Key: Char); override;
  254.     procedure Notification(AComponent: TComponent;
  255.       Operation: TOperation); override;
  256.   public
  257.     constructor Create(AOwner: TComponent); override;
  258.     destructor Destroy; override;
  259.     property Field: TField;
  260.   published
  261.     property Align;
  262.     property BorderStyle;
  263.     property Color;
  264.     property Ctl3D default True;
  265.     property DataField: string;
  266.     property DataSource: TDataSource;
  267.     property DragCursor;
  268.     property DragMode;
  269.     property Enabled;
  270.     property Font;
  271.     property IntegralHeight;
  272.     property ItemHeight;
  273.     property Items write SetItems;
  274.     property ParentColor;
  275.     property ParentCtl3D;
  276.     property ParentFont;
  277.     property ParentShowHint;
  278.     property PopupMenu;
  279.     property ReadOnly: Boolean default False;
  280.     property ShowHint;
  281.     property Style;
  282.     property TabOrder;
  283.     property TabStop;
  284.     property Visible;
  285.     property OnClick;
  286.     property OnDblClick;
  287.     property OnDragDrop;
  288.     property OnDragOver;
  289.     property OnDrawItem;
  290.     property OnEndDrag;
  291.     property OnEnter;
  292.     property OnExit;
  293.     property OnKeyDown;
  294.     property OnKeyPress;
  295.     property OnKeyUp;
  296.     property OnMeasureItem;
  297.     property OnMouseDown;
  298.     property OnMouseMove;
  299.     property OnMouseUp;
  300.     property OnStartDrag;
  301.   end;
  302.  
  303. { TDBRadioGroup }
  304.  
  305.   TDBRadioGroup = class(TCustomRadioGroup)
  306.   protected
  307.     procedure Change; dynamic;
  308.     procedure Click; override;
  309.     procedure KeyPress(var Key: Char); override;
  310.     function CanModify: Boolean; override;
  311.     procedure Notification(AComponent: TComponent;
  312.       Operation: TOperation); override;
  313.     property DataLink: TFieldDataLink;
  314.   public
  315.     constructor Create(AOwner: TComponent); override;
  316.     destructor Destroy; override;
  317.     property Field: TField;
  318.     property ItemIndex;
  319.     property Value: string;
  320.   published
  321.     property Align;
  322.     property Caption;
  323.     property Color;
  324.     property Columns;
  325.     property Ctl3D;
  326.     property DataField: string;
  327.     property DataSource: TDataSource;
  328.     property DragCursor;
  329.     property DragMode;
  330.     property Enabled;
  331.     property Font;
  332.     property Items write SetItems;
  333.     property ParentColor;
  334.     property ParentCtl3D;
  335.     property ParentFont;
  336.     property ParentShowHint;
  337.     property PopupMenu;
  338.     property ReadOnly: Boolean default False;
  339.     property ShowHint;
  340.     property TabOrder;
  341.     property TabStop;
  342.     property Values: TStrings;
  343.     property Visible;
  344.     property OnChange: TNotifyEvent;
  345.     property OnClick;
  346.     property OnDragDrop;
  347.     property OnDragOver;
  348.     property OnEndDrag;
  349.     property OnEnter;
  350.     property OnExit;
  351.     property OnStartDrag;
  352.   end;
  353.  
  354. { TDBMemo }
  355.  
  356.   TDBMemo = class(TCustomMemo)
  357.   protected
  358.     procedure Change; override;
  359.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  360.     procedure KeyPress(var Key: Char); override;
  361.     procedure Notification(AComponent: TComponent;
  362.       Operation: TOperation); override;
  363.     procedure WndProc(var Message: TMessage); override;
  364.   public
  365.     constructor Create(AOwner: TComponent); override;
  366.     destructor Destroy; override;
  367.     procedure LoadMemo;
  368.     property Field: TField;
  369.   published
  370.     property Align;
  371.     property Alignment;
  372.     property AutoDisplay: Boolean default True;
  373.     property BorderStyle;
  374.     property Color;
  375.     property Ctl3D;
  376.     property DataField: string;
  377.     property DataSource: TDataSource;
  378.     property DragCursor;
  379.     property DragMode;
  380.     property Enabled;
  381.     property Font;
  382.     property MaxLength;
  383.     property ParentColor;
  384.     property ParentCtl3D;
  385.     property ParentFont;
  386.     property ParentShowHint;
  387.     property PopupMenu;
  388.     property ReadOnly: Boolean default False;
  389.     property ScrollBars;
  390.     property ShowHint;
  391.     property TabOrder;
  392.     property TabStop;
  393.     property Visible;
  394.     property WantTabs;
  395.     property WordWrap;
  396.     property OnChange;
  397.     property OnClick;
  398.     property OnDblClick;
  399.     property OnDragDrop;
  400.     property OnDragOver;
  401.     property OnEndDrag;
  402.     property OnEnter;
  403.     property OnExit;
  404.     property OnKeyDown;
  405.     property OnKeyPress;
  406.     property OnKeyUp;
  407.     property OnMouseDown;
  408.     property OnMouseMove;
  409.     property OnMouseUp;
  410.     property OnStartDrag;
  411.   end;
  412.  
  413. { TDBImage }
  414.  
  415.   TDBImage = class(TCustomControl)
  416.   protected
  417.     procedure CreateParams(var Params: TCreateParams); override;
  418.     function GetPalette: HPALETTE; override;
  419.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  420.     procedure KeyPress(var Key: Char); override;
  421.     procedure Notification(AComponent: TComponent;
  422.       Operation: TOperation); override;
  423.     procedure Paint; override;
  424.   public
  425.     constructor Create(AOwner: TComponent); override;
  426.     destructor Destroy; override;
  427.     procedure CopyToClipboard;
  428.     procedure CutToClipboard;
  429.     procedure LoadPicture;
  430.     procedure PasteFromClipboard;
  431.     property Field: TField;
  432.     property Picture: TPicture;
  433.   published
  434.     property Align;
  435.     property AutoDisplay: Boolean default True;
  436.     property BorderStyle: TBorderStyle default bsSingle;
  437.     property Center: Boolean default True;
  438.     property Color;
  439.     property Ctl3D;
  440.     property DataField: string;
  441.     property DataSource: TDataSource;
  442.     property DragCursor;
  443.     property DragMode;
  444.     property Enabled;
  445.     property Font;
  446.     property ParentColor default False;
  447.     property ParentCtl3D;
  448.     property ParentFont;
  449.     property ParentShowHint;
  450.     property PopupMenu;
  451.     property ReadOnly: Boolean default False;
  452.     property QuickDraw: Boolean default True;
  453.     property ShowHint;
  454.     property Stretch: Boolean default False;
  455.     property TabOrder;
  456.     property TabStop default True;
  457.     property Visible;
  458.     property OnClick;
  459.     property OnDblClick;
  460.     property OnDragDrop;
  461.     property OnDragOver;
  462.     property OnEndDrag;
  463.     property OnEnter;
  464.     property OnExit;
  465.     property OnKeyDown;
  466.     property OnKeyPress;
  467.     property OnKeyUp;
  468.     property OnMouseDown;
  469.     property OnMouseMove;
  470.     property OnMouseUp;
  471.     property OnStartDrag;
  472.   end;
  473.  
  474. const
  475.   InitRepeatPause = 400;  { pause before repeat timer (ms) }
  476.   RepeatPause     = 100;  { pause before hint window displays (ms)}
  477.   SpaceSize       =  5;   { size of space between special buttons }
  478.  
  479. type
  480.   TNavButton = class;
  481.   TNavDataLink = class;
  482.  
  483.   TNavGlyph = (ngEnabled, ngDisabled);
  484.   TNavigateBtn = (nbFirst, nbPrior, nbNext, nbLast,
  485.                   nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh);
  486.   TButtonSet = set of TNavigateBtn;
  487.   TNavButtonStyle = set of (nsAllowTimer, nsFocusRect);
  488.  
  489.   ENavClick = procedure (Sender: TObject; Button: TNavigateBtn) of object;
  490.  
  491. { TDBNavigator }
  492.  
  493.   TDBNavigator = class (TCustomPanel)
  494.   protected
  495.     Buttons: array[TNavigateBtn] of TNavButton;
  496.     procedure DataChanged;
  497.     procedure EditingChanged;
  498.     procedure ActiveChanged;
  499.     procedure Loaded; override;
  500.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  501.     procedure Notification(AComponent: TComponent;
  502.       Operation: TOperation); override;
  503.     procedure GetChildren(Proc: TGetChildProc); override;
  504.   public
  505.     constructor Create(AOwner: TComponent); override;
  506.     destructor Destroy; override;
  507.     procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
  508.     procedure BtnClick(Index: TNavigateBtn);
  509.   published
  510.     property DataSource: TDataSource;
  511.     property VisibleButtons: TButtonSet default [nbFirst, nbPrior, nbNext, nbLast, nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh];
  512.     property Align;
  513.     property DragCursor;
  514.     property DragMode;
  515.     property Enabled;
  516.     property Ctl3D;
  517.     property Hints: TStrings;
  518.     property ParentCtl3D;
  519.     property ParentShowHint;
  520.     property PopupMenu;
  521.     property ConfirmDelete: Boolean default True;
  522.     property ShowHint;
  523.     property TabOrder;
  524.     property TabStop;
  525.     property Visible;
  526.     property OnClick: ENavClick;
  527.     property OnDblClick;
  528.     property OnDragDrop;
  529.     property OnDragOver;
  530.     property OnEndDrag;
  531.     property OnEnter;
  532.     property OnExit;
  533.     property OnResize;
  534.     property OnStartDrag;
  535.   end;
  536.  
  537. { TNavButton }
  538.  
  539.   TNavButton = class(TSpeedButton)
  540.   protected
  541.     procedure Paint; override;
  542.     procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
  543.       X, Y: Integer); override;
  544.     procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
  545.       X, Y: Integer); override;
  546.   public
  547.     destructor Destroy; override;
  548.     property NavStyle: TNavButtonStyle;
  549.     property Index : TNavigateBtn;
  550.   end;
  551.  
  552. { TNavDataLink }
  553.  
  554.   TNavDataLink = class(TDataLink)
  555.   protected
  556.     procedure EditingChanged; override;
  557.     procedure DataSetChanged; override;
  558.     procedure ActiveChanged; override;
  559.   public
  560.     constructor Create(ANav: TDBNavigator);
  561.     destructor Destroy; override;
  562.   end;
  563.  
  564. { TDBLookupControl }
  565.  
  566.   TDBLookupControl = class;
  567.  
  568.   TDataSourceLink = class(TDataLink)
  569.   protected
  570.     procedure ActiveChanged; override;
  571.     procedure RecordChanged(Field: TField); override;
  572.   end;
  573.  
  574.   TListSourceLink = class(TDataLink)
  575.   protected
  576.     procedure ActiveChanged; override;
  577.     procedure DataSetChanged; override;
  578.   end;
  579.  
  580.   TDBLookupControl = class(TCustomControl)
  581.   protected
  582.     procedure Notification(AComponent: TComponent;
  583.       Operation: TOperation); override;
  584.     property DataField: string;
  585.     property DataSource: TDataSource;
  586.     property KeyField: string;
  587.     property KeyValue: Variant;
  588.     property ListField: string;
  589.     property ListFieldIndex: Integer default 0;
  590.     property ListSource: TDataSource;
  591.     property ParentColor default False;
  592.     property ReadOnly: Boolean default False;
  593.     property TabStop default True;
  594.   public
  595.     constructor Create(AOwner: TComponent); override;
  596.     destructor Destroy; override;
  597.   end;
  598.  
  599. { TDBLookupListBox }
  600.  
  601.   TDBLookupListBox = class(TDBLookupControl)
  602.   protected
  603.     procedure CreateParams(var Params: TCreateParams); override;
  604.     procedure CreateWnd; override;
  605.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  606.     procedure KeyPress(var Key: Char); override;
  607.     procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
  608.       X, Y: Integer); override;
  609.     procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
  610.     procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
  611.       X, Y: Integer); override;
  612.     procedure Paint; override;
  613.     procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
  614.   public
  615.     constructor Create(AOwner: TComponent); override;
  616.     property KeyValue;
  617.   published
  618.     property Align;
  619.     property BorderStyle: TBorderStyle default bsSingle;
  620.     property Color;
  621.     property Ctl3D;
  622.     property DataField;
  623.     property DataSource;
  624.     property DragCursor;
  625.     property DragMode;
  626.     property Enabled;
  627.     property Font;
  628.     property KeyField;
  629.     property ListField;
  630.     property ListFieldIndex;
  631.     property ListSource;
  632.     property ParentColor;
  633.     property ParentCtl3D;
  634.     property ParentFont;
  635.     property ParentShowHint;
  636.     property PopupMenu;
  637.     property ReadOnly;
  638.     property RowCount: Integer;
  639.     property ShowHint;
  640.     property TabOrder;
  641.     property TabStop;
  642.     property Visible;
  643.     property OnClick;
  644.     property OnDblClick;
  645.     property OnDragDrop;
  646.     property OnDragOver;
  647.     property OnEndDrag;
  648.     property OnEnter;
  649.     property OnExit;
  650.     property OnKeyDown;
  651.     property OnKeyPress;
  652.     property OnKeyUp;
  653.     property OnMouseDown;
  654.     property OnMouseMove;
  655.     property OnMouseUp;
  656.     property OnStartDrag;
  657.   end;
  658.  
  659. { TDBLookupComboBox }
  660.  
  661.   TPopupDataList = class(TDBLookupListBox)
  662.   protected
  663.     procedure CreateParams(var Params: TCreateParams); override;
  664.   public
  665.     constructor Create(AOwner: TComponent); override;
  666.   end;
  667.  
  668.   TDropDownAlign = (daLeft, daRight, daCenter);
  669.  
  670.   TDBLookupComboBox = class(TDBLookupControl)
  671.   protected
  672.     procedure CreateParams(var Params: TCreateParams); override;
  673.     procedure Paint; override;
  674.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  675.     procedure KeyPress(var Key: Char); override;
  676.     procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
  677.       X, Y: Integer); override;
  678.     procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
  679.     procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
  680.       X, Y: Integer); override;
  681.     procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
  682.   public
  683.     constructor Create(AOwner: TComponent); override;
  684.     procedure CloseUp(Accept: Boolean);
  685.     procedure DropDown;
  686.     property KeyValue;
  687.     property ListVisible: Boolean;
  688.     property Text: string;
  689.   published
  690.     property Color;
  691.     property Ctl3D;
  692.     property DataField;
  693.     property DataSource;
  694.     property DragCursor;
  695.     property DragMode;
  696.     property DropDownAlign: TDropDownAlign default daLeft;
  697.     property DropDownRows: Integer default 7;
  698.     property DropDownWidth: Integer default 0;
  699.     property Enabled;
  700.     property Font;
  701.     property KeyField;
  702.     property ListField;
  703.     property ListFieldIndex;
  704.     property ListSource;
  705.     property ParentColor;
  706.     property ParentCtl3D;
  707.     property ParentFont;
  708.     property ParentShowHint;
  709.     property PopupMenu;
  710.     property ReadOnly;
  711.     property ShowHint;
  712.     property TabOrder;
  713.     property TabStop;
  714.     property Visible;
  715.     property OnClick;
  716.     property OnCloseUp: TNotifyEvent;
  717.     property OnDragDrop;
  718.     property OnDragOver;
  719.     property OnDropDown: TNotifyEvent;
  720.     property OnEndDrag;
  721.     property OnEnter;
  722.     property OnExit;
  723.     property OnKeyDown;
  724.     property OnKeyPress;
  725.     property OnKeyUp;
  726.     property OnMouseDown;
  727.     property OnMouseMove;
  728.     property OnMouseUp;
  729.     property OnStartDrag;
  730.   end;
  731.  
  732. implementation
  733.